package com.itheima.d1_staticdemo;

/**
 * 静态变量可以被所有的该类的对象所共享
 * 非静态变量不具备共享特性
 *
 */
public class StudentTest {
    public static void main(String[] args) {
        // 目标：掌握有无static修饰成员变量的用法，特点。
        // 1、类变量的用法。
        // 类名.类变量（推荐）
        System.out.println(Student.name); //null
        Student.name = "兮";
        System.out.println(Student.name); //兮

        // 对象.类变量（不推荐）
        Student s1 = new Student();
        Student s2 = new Student();
        //有static修饰，是类变量（成员变量） ---> 属于类，会被类中的所有对象共享
        System.out.println("s1.name = " + s1.name); //兮
        System.out.println("s2.name = " + s2.name); //兮


        // 2、实例变量（非静态变量）的用法：属于每个对象的变量
        // 对象.实例变量

        //非静态变量不具备共享特性
        //非静态变量，不具备共享特性，每一对象独享一份数据
        s1.age = 18;
        s2.age = 23;
        System.out.println("s1.age = " + s1.age); //18
        System.out.println("s2.age = " + s2.age); //23



        //3、注意：非静态变量不能用类名直接调用，否则报错
//        Student.name //报错
    }
}
